package com.corpcredit.service;

import java.util.List;

import com.corpcredit.model.Jbqk;
import com.corpcredit.model.LabelValue;

/**
 * Business Service Interface to talk to persistence layer and
 * retrieve values for drop-down choice lists.
 *
 * @author <a href="mailto:matt@raibledesigns.com">Matt Raible</a>
 */
public interface LookupManager extends UniversalManager {
    /**
     * Retrieves all possible roles from persistence layer
     * @return List of LabelValue objects
     */
    List<LabelValue> getAllRoles();
    
    /**
     * Generic method used to get all objects of a particular type accordint to JbqkID.
     * @param object the object type to retrieve
     * @param jbqkID ID of Jbqk
     * @return List of populated objects
     */
    List findAllByJbqkID(Class clazz, Long jbqkID);
    
    /**
     * Get an object based on class and Jbqk ID. This object has an one-to-one relationship with Jbqk.
     * @param object the object to retrieve
     * @param jbqkID ID of Jbqk
     * @return a populated object
     */
    Object findByJbqkID(Class clazz, Long jbqkID);
    /**
     * check if the @ryid is avalaible
     * @param clazz
     * @param ryid
     * @return the tip message
     */
     String findByRyid(String clazz,String ryid);
     List findGlryCwfzrByJqbkID(Long jbqkID);
     public List<Jbqk> findJbqks( String qyqc, String yyzzzch, String ssqy, Long hyflID );
}
